package tests.movimiento;

import java.util.ArrayList;

import junit.framework.TestCase;
import modelo.*;
import modelo.estatico.Cuartel;
import modelo.movimiento.Movimiento;
import modelo.tanque.*;

public class TestMovimientoGrizzlyBattleTank extends TestCase {
	public void testMovimientoAbajo(){
		//elimino Contenedor para que los tests anteriores no afecten, por ser singleton
	    Contenedor.getInstance().eliminarContenedor();
		GrizzlyBattleTank tanque=new GrizzlyBattleTank(new Posicion(16,14));
		Contenedor.getInstance().setAlgoTank(new AlgoTank(new Posicion(220,60)));
		Contenedor.getInstance().setCuartel(new Cuartel(new Posicion(10,200)));
		Movimiento movimiento =  tanque.getMovimiento();
		ArrayList<Posicion> posiciones = movimiento.buscarPosicionAlternativa(tanque.getPosicion(),tanque.getVelocidad(),tanque.getDireccion());
		tanque.ordenarListaPosiciones (posiciones,  Contenedor.getInstance().getAlgoTank().getPosicion());
		Posicion posicion = tanque.obtenerPosicionCercana(posiciones);
	    tanque.ejecutarMovimiento(posicion);
		assertTrue(tanque.getPosicion().getX()==16);
		assertTrue(tanque.getPosicion().getY()==11);

	}

}
